package com.umpay.dto.merBusi.req.consume;

import com.umpay.annotation.Pattern;
import com.umpay.dto.merAccess.req.consume.SubOrderInfo;
import com.umpay.dto.merBusi.req.CommonBusiReq;
import org.hibernate.validator.constraints.NotEmpty;

import java.util.List;

/**
 * 
 * @ClassName: ConsumeDebitcardBusiReq  
 * @Description: 借记卡消费下单业务处理请求类 
 * @author liuhaidong  
 * @date Jan 22, 2018
 */
public class ConsumeDebitcardBusiReq extends CommonBusiReq {
	
	@NotEmpty(message = "商户订单号不能为空")
	@Pattern(message="商户订单号格式不正确")
	private String orderId;	//变长32	商户订单号
	
	@NotEmpty(message = "商户订单日期不能为空")
	@Pattern(message="商户订单日期格式不正确")
	private String orderDate;	//定长8	商户订单日期
	
	@NotEmpty(message = "商户号不能为空")
	@Pattern(message="商户号格式不正确")
	private String merId;	//变长8	商户号
	
	@NotEmpty(message = "用户号不能为空")
	@Pattern(message="用户号格式不正确")
	private String userId;	//变长20	
	
	@NotEmpty(message = "用户类型不能为空")
	@Pattern(message="用户类型格式不正确")
	private String userType;	//定长2	
	
	@NotEmpty(message = "支付方式不能为空")
	@Pattern(message="支付方式格式不正确")
	private String payType;	///变长2	支付方式
	
	@NotEmpty(message = "支付协议号不能为空")
	@Pattern(message="支付协议号格式不正确")
	private String pagreementId;//变长32	支付协议号
	
	@NotEmpty(message = "金额不能为空")
	@Pattern(message="金额格式不正确")
	private String amount;	//变长13	金额
	
	@NotEmpty(message = "业务产品号不能为空")
	@Pattern(message="业务产品号格式不正确")
	private String bproductId;	//变长8	业务产品号
	
	@NotEmpty(message = "支付产品号不能为空")
	@Pattern(message="支付产品号格式不正确")
	private String pproductId;	//定长8	产品号
	private String consigneeName;	//变长32	收货人
	private String consigneeAddress;	//变长50	收货地址
	private String consigneePhone;	//定长11	联系电话
	private String notifyUrl;	//变长128	后台通知地址
	private String remark;	//变长100	备注信息
	private List<SubOrderInfo> sub_order_info;	//变长列表	子订单信息
	
	public String getOrderId() {
		return orderId;
	}
	public void setOrderId(String orderId) {
		this.orderId = orderId;
	}
	public String getOrderDate() {
		return orderDate;
	}
	public void setOrderDate(String orderDate) {
		this.orderDate = orderDate;
	}
	public String getMerId() {
		return merId;
	}
	public void setMerId(String merId) {
		this.merId = merId;
	}
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public String getUserType() {
		return userType;
	}
	public void setUserType(String userType) {
		this.userType = userType;
	}
	public String getPayType() {
		return payType;
	}
	public void setPayType(String payType) {
		this.payType = payType;
	}
	
	public String getPagreementId() {
		return pagreementId;
	}
	public void setPagreementId(String pagreementId) {
		this.pagreementId = pagreementId;
	}
	public String getAmount() {
		return amount;
	}
	public void setAmount(String amount) {
		this.amount = amount;
	}
	
	public String getBproductId() {
		return bproductId;
	}
	public void setBproductId(String bproductId) {
		this.bproductId = bproductId;
	}
	public String getPproductId() {
		return pproductId;
	}
	public void setPproductId(String pproductId) {
		this.pproductId = pproductId;
	}
	public String getConsigneeName() {
		return consigneeName;
	}
	public void setConsigneeName(String consigneeName) {
		this.consigneeName = consigneeName;
	}
	public String getConsigneeAddress() {
		return consigneeAddress;
	}
	public void setConsigneeAddress(String consigneeAddress) {
		this.consigneeAddress = consigneeAddress;
	}
	public String getConsigneePhone() {
		return consigneePhone;
	}
	public void setConsigneePhone(String consigneePhone) {
		this.consigneePhone = consigneePhone;
	}
	public String getNotifyUrl() {
		return notifyUrl;
	}
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public List<SubOrderInfo> getSub_order_info() {
		return sub_order_info;
	}
	public void setSub_order_info(List<SubOrderInfo> sub_order_info) {
		this.sub_order_info = sub_order_info;
	}
	@Override
	public String toString() {
		return "ConsumeDebitcardBusiReq [orderId=" + orderId + ", orderDate=" + orderDate + ", merId=" + merId
				+ ", userId=" + userId + ", userType=" + userType + ", payType=" + payType + ", pAgreementId="
				+ pagreementId + ", amount=" + amount + ", bproductId=" + bproductId + ", pproductId=" + pproductId
				+ ", consigneeName=" + consigneeName + ", consigneeAddress=" + consigneeAddress + ", consigneePhone="
				+ consigneePhone + ", notifyUrl=" + notifyUrl + ", remark=" + remark + ", sub_order_info="
				+ sub_order_info + "]";
	}

	

	
}
